T-초기화 컨테이너의 이미지 바꾸기

개요

초기화 컨테이너#유의 사항#파드의 재시작 부분은 Kubernetes v1.31 - Elli버전의 원문을 토대로 작성한 것이다.
Pasted image 20240821143945.png
그런데 초기화 컨테이너 이미지가 바뀌면 파드가 재시작한다.. 궁금하잖아?
그래서 직접 시도를 해봤다.
이것은 그냥 파드에 대해서 대놓고 진행한 것으로, Workload의 도움을 빌리게 된다면 또 유의미하게 다른 결과가 나올지도 모른다.

세팅

Pasted image 20240821141049.png
앱 컨테이너는 60초에 성공된다.
기본적으로는 60초에 초기화 컨테이너도 성공되도록 해놨다.
초기화 컨테이너는 두 개인데 하나는 그냥 성공된다.
Pasted image 20240821141244.png
참고로 앱 컨테이너의 이미지를 바꾸는 것은 그냥 한 파드 내에서 그대로 지속된다.

파드 Running 중 초기화 컨테이너 이미지 변경

Pasted image 20240821141645.png
그런데.. 초기화 컨테이너도 마찬가지이다.
초기화 컨테이너의 이미지를 변경하는 작업은 아무 동작도 발생시키지 않는다.
앱 컨테이너는 계속 돌아가고 있고, 초기화 컨테이너가 새로 실행되거나 하는 것은 없다.

내가 기대한 동작은 파드의 재시작 값이나 이런 모든 것들이 초기화되고 아예 새로운 파드가 실행되는 것마냥 초기화 컨테이너도 시작하는 것이었는데.
이미 실행 중인 초기화 컨테이너의 값을 아무리 바꿔봐야 아무런 소용이 없는 듯하다.

실행 중인 초기화 컨테이너 이미지 변경

그렇다면 초기화 컨테이너가 실행 중일 때 초기화 컨테이너의 이미지를 바꾸면 변화가 생길까?
Pasted image 20240821142307.png
컨테이너 이미지를 1.26으로 바꾸고 실행했으나 아무런 변경점이 존재하지 않는다.
즉, 초기화 컨테이너는 한번 시작되면 바뀌지 않는다는 것이다.
파드의 재시작이란 것도 그 정도의 의미를 가진다고 해석해볼 수 있겠다.

재시작하는 초기화 컨테이너 이미지 변경

그리고 초기화 컨테이너가 계속 실패해서 재시작할 때 이미지를 바꾸면 무슨 일이 생길까?
Pasted image 20240821142646.png
이번에는 일부러 에러를 촉진시켰다.
Pasted image 20240821142750.png
초기화 컨테이너가 계속 재시작 걸리고 있는 상황, 이 상황에 이미지를 변경하자 이것은 바로 적용이 됐다.
Pasted image 20240821142826.png
크룹백이 뜨는 것은 그대로 여전하다.
이미지가 변경되었다는 사실은 실질적으로 이벤트를 통해서만 알 수 있다.

결론

초기화 컨테이너가 재시작되는 경우는 그 자체로 실패하는 일 뿐이다.
그때 컨테이너 이미지가 변경된다면, 그 변경은 반영이 된다.
그러나 이미 끝났거나 실행 중인 초기화 컨테이너에는 변경이 발생하지 않는다.

참고